Rules

Making new rulebooks 


Rules occurring at given times

When play begins 
        (let current node be the chat node after no quip chosen; ...) [E1]
        (init library messages; ...) [E2]
        (seed the random-number generator with 23481) 
        (show the Rilke quote; ...) 
Every turn 
        when being-the-prisoner is happening   
        when the time since Meeting-the-Prisoner began is one minute   
        when the time since Meeting-the-Prisoner began is three minutes   
        in the Lake of Boiling Magma   
        (if the noun is a thing and the noun is ambiguously plural, notice the plurality of the noun; ...) [E3]
When play ends 

Rules taking place when scenes begin and end can be found in the Scenes index.


Rules governing actions

Before 
        doing anything except listening to, saying yes, saying no or saying maybe in In a Cage above the Magma   
        examining a detailer   

Reaching inside 
        can't reach inside rooms rule
        can't reach inside closed containers rule
        outcome  allow access - a success
        outcome  deny access - a failure
Reaching outside 
        can't reach outside closed containers rule
        outcome  allow access - a success
        outcome  deny access - a failure
Visibility 
        can't act in the dark rule
        outcome  there is sufficient light - a failure
        outcome  there is insufficient light - a success

Instead of 
        doing anything except saying yes, saying no or saying maybe when the Yes or No Boolean is true   
        doing anything except preparing, finding responses to, giving text for, giving link to, taking inventory, examining, looking, thinking, smelling, listening to, waiting when the player is yourself and the Yes or No Boolean is false   
        examining the magma in In a cage above the Magma   
        examining the cage in In a cage above the Magma   
        attacking the cage in In a Cage above the Magma   
        looking in the Introduction for the first time   
        listening to in In a Cage above the Magma for the first time   
        examining the magma   
        examining The Prisoner   
        examining the prisoner   
        smelling the prisoner   
        smelling the hot currents of air when the player is yourself   
        smelling the hot currents of air when the player is The Prisoner   
        examining the patterns   
        examining the cage   
        examining hope   
        examining the patterns   
        examining the patterns   
        examining the patterns   
        examining the patterns   
        giving link to c_Questions_6 when second chat node is c_Questions_5   
        smelling a room   
        thinking in the Introduction   
        thinking in the Lake of Boiling Magma   
        smelling in the Lake of Boiling Magma   
        jumping in In a Cage above the Magma   
        smelling, tasting or listening to in the introduction   
        examining here-backdrop   
        examining the Speaker   
        examining Samael   
        examining yourself   
        smelling the magma   
        listening to the magma   
        examining the prisoner   
        examining the mountains   
        examining the hot currents of air   
        listening to the Lake of Boiling Magma   
        examining the bars   
        attacking the bars   
        taking hope   
        examining the whispered words   
        listening to the whispered words   
        giving text for no quip chosen   [E1]
        giving text for c_Helper_1   
        finding responses to c_Helper_1   
        giving link to c_Helper_2   
        giving text for c_Helper_2   
        giving link to c_Helper_3   
        giving text for c_Helper_3   
        giving link to c_Helper_4   
        giving text for c_Helper_4   
        giving text for c_Faces_1   
        finding responses to c_Faces_1   
        giving link to c_Faces_2   
        giving text for c_Faces_2   
        finding responses to c_Faces_2   
        giving link to c_Faces_3   
        giving text for c_Faces_3   
        finding responses to c_Faces_3   
        giving link to c_Faces_4   
        giving text for c_Faces_4   
        finding responses to c_Faces_4   
        giving link to c_Faces_5   
        giving text for c_Faces_5   
        finding responses to c_Faces_5   
        giving link to c_Faces_6   
        giving text for c_Faces_6   
        preparing c_Questions_5   
        preparing c_Questions_6   
        preparing c_Questions_9   
        giving text for c_Questions_1   
        finding responses to c_Questions_1   
        giving link to c_Questions_2   
        giving text for c_Questions_2   
        finding responses to c_Questions_2   
        giving link to c_Questions_3   
        giving text for c_Questions_3   
        finding responses to c_Questions_3   
        giving link to c_Questions_4   
        giving text for c_Questions_4   
        finding responses to c_Questions_4   
        giving link to c_Questions_5   
        giving text for c_Questions_5   
        finding responses to c_Questions_5   
        giving link to c_Questions_6   
        giving text for c_Questions_6   
        finding responses to c_Questions_6   
        giving link to c_Questions_7   
        giving text for c_Questions_7   
        finding responses to c_Questions_7   
        giving link to c_Questions_8   
        giving text for c_Questions_8   
        finding responses to c_Questions_8   
        giving link to c_Questions_9   
        giving text for c_Questions_9   
        finding responses to c_Questions_9   
        giving link to c_Questions_10   
        giving text for c_Questions_10   
        finding responses to c_Questions_10   
        giving link to c_Questions_11   
        giving text for c_Questions_11   
        finding responses to c_Questions_11   
        giving link to c_Questions_12   
        giving text for c_Questions_12   
        finding responses to c_Questions_12   
        giving link to c_Questions_13   
        giving text for c_Questions_13   
        finding responses to c_Questions_13   
        giving link to c_Questions_14   
        giving text for c_Questions_14   
        finding responses to c_Questions_14   
        giving link to c_Questions_15   
        giving text for c_Questions_15   
        finding responses to c_Questions_15   
        giving link to c_Questions_16   
        giving text for c_Questions_16   
        finding responses to c_Questions_16   
        giving link to c_Questions_17   
        giving text for c_Questions_17   
        finding responses to c_Questions_17   
        giving link to c_Questions_18   
        giving text for c_Questions_18   
        finding responses to c_Questions_18   
        giving link to c_Questions_19   
        giving text for c_Questions_19   
        finding responses to c_Questions_19   
        giving link to c_Questions_20   
        giving text for c_Questions_20   
        finding responses to c_Questions_20   
        giving link to c_Questions_21   
        giving text for c_Questions_21   
        finding responses to c_Questions_21   
        preparing c_TakeControl_4   
        giving link to c_TakeControl_2   
        giving text for c_TakeControl_2   
        giving link to c_TakeControl_3   
        giving text for c_TakeControl_3   
        finding responses to c_TakeControl_3   
        giving link to c_TakeControl_4   
        giving text for c_TakeControl_4   
        finding responses to c_TakeControl_4   
        giving link to c_TakeControl_5   
        giving text for c_TakeControl_5   
        finding responses to c_TakeControl_5   
        giving link to c_TakeControl_6   
        giving text for c_TakeControl_6   
        finding responses to c_TakeControl_6   
        giving link to c_TakeControl_7   
        giving text for c_TakeControl_7   
        finding responses to c_TakeControl_7   
        giving link to c_TakeControl_8   
        giving text for c_TakeControl_8   
        giving link to c_TakeControl_9   
        giving text for c_TakeControl_9   
        giving text for c_Samael_first_1   
        finding responses to c_Samael_first_1   
        giving link to c_Samael_first_2   
        giving text for c_Samael_first_2   
        finding responses to c_Samael_first_2   
        giving link to c_Samael_first_3   
        giving text for c_Samael_first_3   
        finding responses to c_Samael_first_3   
        giving link to c_Samael_first_4   
        giving text for c_Samael_first_4   
        finding responses to c_Samael_first_4   
        giving link to c_Samael_first_5   
        giving text for c_Samael_first_5   
        finding responses to c_Samael_first_5   
        giving link to c_Samael_first_6   
        giving text for c_Samael_first_6   
        finding responses to c_Samael_first_6   
        giving link to c_Samael_first_7   
        giving text for c_Samael_first_7   
        giving link to c_Samael_first_8   
        giving text for c_Samael_first_8   
        saying yes when the Yes or No Number is 1   
        saying no when the Yes or No Number is 1   
        saying maybe when the Yes or No Number is 1   
        taking inventory when the player is yourself   
        saying yes when the Yes or No Number is 2   
        saying no when the Yes or No Number is 2   
        saying maybe when the Yes or No Number is 2   
        default outcome is failure

After 
        looking in A Lake of Boiling Magma for the second time   
        looking in A Lake of Boiling Magma for the third time   
        default outcome is success

Does the player mean 
        taking something which is carried by the player  very unlikely to mean taking what's already carried rule
        outcome  it is very likely - a success
        outcome  it is likely - a success
        outcome  it is possible - a success
        outcome  it is unlikely - a success
        outcome  it is very unlikely - a success
Persuasion 
        outcome  persuasion succeeds - a success
        outcome  persuasion fails - a failure
Unsuccessful attempt by 
        default outcome is success

Rules for checking, carrying out and reporting on actions can be found in the Actions index. Summary of action rules 


Before, for and after activities

Printing the name 
    before     a thing (called the item being printed)  make named things mentioned rule
    for         player   [E2]
    for         standard name printing rule
        default outcome is success
    after       an ambiguously plural thing (called the suspect)   [E3]
    after       something (called the target)   [E3]
Printing the plural name 
    for         something (called the item)  standard printing the plural name rule
        default outcome is success
Printing a number 
    for         something (called the item)  standard printing a number of something rule
        default outcome is success
Printing room description details 
Listing contents 
    for         standard contents listing rule
        default outcome is success
Grouping together 
Writing a paragraph about 
Listing nondescript items 
Printing the name of a dark room 
Printing the description of a dark room 
Printing the announcement of darkness 
Printing the announcement of light 
    for         look around once light available rule
        default outcome is success
Printing a refusal to act in the dark 
Constructing the status line 
    for         (if the player is yourself, fill status bar with Table of Yourself Status; ...) 
        default outcome is success
Printing the banner text 
    for         (if the player is in the Introduction, do nothing instead) 
        default outcome is success
Reading a command 
    before     (if gs_PlayerHelp_Stage is 10 begin; ...) 
Deciding the scope 
Deciding the concealed possessions 
Deciding whether all includes 
    for         scenery   
    for         persons   
        outcome  it does not - a failure
        outcome  it does - a success
        default outcome is success
Clarifying the parser's choice 
Asking which do you mean 
Printing a parser error 
Supplying a missing noun 
    for         while an actor smelling  ambient odour rule
    for         while an actor listening  ambient sound rule
    for         while going   [E2]
        default outcome is success
Supplying a missing second noun 
Implicitly taking 
Starting the virtual machine 
Amusing a victorious player 
Printing the player's obituary 
    for         print obituary headline rule
    for         print final score rule
    for         display final status line rule
        default outcome is success
Handling the final question
    before     print the final question rule
    before     print the final prompt rule
    before     read the final answer rule
    for         standard respond to final question rule
        default outcome is success
Printing the locale description 
    before     initialise locale description rule
    before     find notable locale objects rule
    for         interesting locale paragraphs rule
    for         you-can-also-see rule
        default outcome is success
Choosing notable locale objects 
    for         standard notable locale objects rule
        default outcome is success
Printing a locale paragraph about 
    for         a thing (called the item)  don't mention player's supporter in room descriptions rule
    for         a thing (called the item)  don't mention scenery in room descriptions rule
    for         a thing (called the item)  don't mention undescribed items in room descriptions rule
    for         a thing (called the item)  set pronouns from items in room descriptions rule
    for         a thing (called the item)  offer items to writing a paragraph about rule
    for         a thing (called the item)  use initial appearance in room descriptions rule
    for         a thing (called the item)  describe what's on scenery supporters in room descriptions rule
        default outcome is success
Making Samael appear 
    for         (move Samael to In a Cage above the Magma; ...) 
        default outcome is success
Samael talking 
    for         (run a conversation from c_samael_first_1) 
        default outcome is success
Samael examining the cage part one 
    for         (say "Samael bends towards the metal bars, as if to carefully measure their thickness."; ...) 
        default outcome is success
Samael examining the cage part two 
    for         (say "Samael turns around and stands for a while, surveying the molten rock and the balustrade on which the only door into this hall opens."; ...) 
        default outcome is success
Samael examining the cage part three 
    for         (say "With his insubstantial body Samael half-simulates a jumping motion, as if to better gauge the distance between the cage and the platform."; ...) 
        default outcome is success
Samael examining the cage part four 
    for         (say "A new conversation starts now.") 
        default outcome is success

What are activities?  How to make new activities 


Procedural rules

Procedural 


Some internally-used rulebooks

Startup rules 
        virtual machine startup rule
        initialise memory rule
        seed random number generator rule
        update chronological records rule
        position player in model world rule
        start in the correct scenes rule
        when play begins stage rule
        fix baseline scoring rule
        display banner rule
        initial room description rule
Turn sequence rules
        parse command rule
        generate action rule
        (consider the scene changing rules)
        every turn stage rule
        scheduled events rule [E4]
        timed events rule
        advance time rule
        update chronological records rule
        (consider the scene changing rules)
        adjust light rule
        note object acquisitions rule
        notify score changes rule
Shutdown rules
        when play ends stage rule
        print player's obituary rule
        resurrect player if asked rule
        ask the final question rule


Action-processing rules
        announce items from multiple object lists rule
        set pronouns from items from multiple object lists rule
        before stage rule
        basic visibility rule
        basic accessibility rule
        carrying requirements rule
        instead stage rule
        requested actions require persuasion rule
        carry out requested actions rule
        descend to specific action-processing rule
        end action-processing in success rule
Specific action-processing rules
        work out details of specific action rule
        investigate player's awareness before action rule
        check stage rule
        carry out stage rule
        after stage rule
        investigate player's awareness after action rule
        report stage rule
        (rule succeeds)
Player's action awareness rules
        player aware of his own actions rule
        player aware of actions by visible actors rule
        player aware of actions on visible nouns rule
        player aware of actions on visible second nouns rule


[E1]. Defined in Simple Chat by Mark Tilford
[E2]. Defined in Custom Library Messages by David Fisher
[E3]. Defined in Plurality by Emily Short
[E4]. Defined in Scheduled Activities by John Clemens